Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Code skill



  How to do pprof for gRPC service

gRPC is a RPC framework based on HTTP and is frequently used for communications among micro service inside the same organization network. However,  the service functions cannot be accessed via normal HTTP URL as it's not a WEB framework. In this case, how to do pprof on a gRPC service? The trick is starting a HTTP server asynchronously while starting the gRPC service. This HTTP server can be accessed to run prrof debug. go func(){ http.ListenAndServe(":10001", nil) }() Since it uses the de...

   GOLANG,PPROF,GRPC     2021-01-29 23:11:33

  How does GoLang know how many CPUs to use?

When running lscpu command on Linux, it will list the CPU info on the machine. Take one example where there is one CPU with 2 cores and each core has two threads which indicates there are 4 cores available. Now let's see how many cores GoLang program would identify. From output, NumCPU and GOMAXPROCS both output 4 which is expected. How does go runtime get this info, does it get it through similar command like lscpu or /proc/cpuinfo? Let's dig more in GoLang's source code. In runtim...

   GOLANG,CPU,NCPU     2020-12-29 23:22:15

  How to Become a Successful Web Designer

All web designers walk a thin line between art and business. Their job is to make a business site flourish, generate leads and revenue, yet – it has to represent the company in the best possible light. In order to achieve greatness in the world of web design, you need a lot of patience, hard work, and persistence. Most of the average designers make quite similar sites, limited in certain ways, and they choose to keep to the already tried out technique, but this can come at a cost for any ...

   WEB DESIGN,WEB DEV     2017-06-30 07:17:42

  A boolean value interview question

Someone asked a question on StackOverflow, he was asked an interview question. The question is : Given 3 boolean variables a, b, c, return true if at least 2 out of the 3 are true. He gave the solution as follows :boolean atLeastTwo(boolean a, boolean b, boolean c) {    if ((a && b) || (b && c) || (a && c)) {        return true;    } else {        ret...

   bool,return,expression,conditional     2012-04-30 08:49:32

  The magic of go:linkname

When writing Go program, there is frequent need on using time.Sleep() function to pause the logic for some time. And if jumping to the definition of this function, can see below definition: // Sleep pauses the current goroutine for at least the duration d. // A negative or zero duration causes Sleep to return immediately. func Sleep(d Duration) I's strange that there is no function body defined here. What happened? The actual definition of the function body is residing at runtime/time.go&nb...

   TRICKS,GO:LINKNAME,GOLANG     2022-04-10 08:39:00

  A trick of building multithreaded application on Solaris

Firstly, Let’s see a simple multithreaded application: #include <stdio.h> #include <pthread.h> #include <errno.h> void *thread1_func(void *p_arg) { errno = 0; sleep(3); errno = 1; printf("%s exit, errno is %d\n", (char*)p_arg, errno); } void *thread2_func(void *p_arg) { errno = 0; sleep(5); printf("%s exit, errno is %d\n", (char*)p_arg, errno); } int main(void) { pthread_t t1, t2; ...

   C, Solaris     2014-10-14 02:59:40

  30-Minute Exercise to Become a Better Programmer

I believe that motivation is really important. That’s why from time to time I read books about time management (as they motivate me to be focused and continue evolve my TM-system) and books about software craftsmanship. The other day I finished one of this kind of books - “Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman”. This book motivated me to think carefully what I want to invest my time in. Also, it coincided with my 25th birthday and, of co...

   Programmer,Exercise,Skill,Requirements     2012-01-28 07:21:13

  How to Find User Participants To Test Your Project

Image Source: Unsplash Recruiting the right participants is important to test your projects properly, but it's essential that your research participants are able to represent your target group, or the results won't translate into something you can use. Since recruiting for specific criteria can be time-consuming, follow these considerations that should make getting these types of user participants easier.  Sharply Define Recruitment Topic Criteria There needs to be a required criteria befo...

   USER RESEARCH,USER REQUIREMENT,TESTING     2020-08-26 07:53:28

  It Should Only Take You a Few Hours...

It sure seems easy to make a table. Anyone can do it, right? Get 1 large flat rectangular piece of wood, 4 equally tall wooden poles, 4 nails and a hammer. Nail the 4 poles to each corner of the flat rectangular bit, and you have a table. Ta daaa! Now ask a carpenter to craft you a table. First they will spend time discussing the purpose and function of the table - indoor or outdoor, kitchen or dining room, for show or heavy use, what load does it need to bear. Then they will determine th...

   Programming,software,Craft     2012-03-01 05:09:10

  var in JavaScript

Geoff published an article sometime ago--"How one missing var ruined our launch". This article described one case where MelonCard uses Node.js as their backend system, suddenly there was a small registration peak period--50-100 people registered concurrently, then the entire website stopped responding and many other strange problems showed up. When they were investigating the source of the problem, they found one missing var in the following code.app.all(‘/apps/:user_id/status’, fun...

   JavaScript,Scope,variable     2012-05-26 12:35:36